#include<sys/types.h>
#include<sys/ipc.h>
#include<sys/shm.h>
#include<string.h>
#include"log.hpp"
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>

#define pathname "/root"
#define proj_id 0x1111

#define size 4096
#define Filename "./fifo"
#define MODE 0664

Log log;

key_t getKey()
{
    key_t kt=ftok(pathname,proj_id);
    // if(kt>=0)
    // {
    //     log(Info,"ftok success,key is %d",kt);
    // }
    // else 
    // {
    //     log(Fatal,"%s:%d ",strerror(errno),errno);
    // }


    return kt;
}


int creatSharemem()
{
    key_t key=getKey();
    int shmid=shmget(key,size,IPC_CREAT);
    // if(shmid>0)
    // {
    //     log(Info,"shget success,shmid is :%d",shmid);
    // }
    // else 
    // {
    //     log(Fatal,"%s %d ",strerror(errno),errno);
    // }

    return shmid;
}


int getSharmen()
{
    key_t key=getKey();
    int shmid=shmget(key,size,IPC_CREAT);

    return shmid;
}


class Init{
public:
    Init()
    {
        int n=mkfifo(Filename,MODE);
    }

    ~Init()
    {
        int m=unlink(Filename);
    }

};
